home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / hidden / hidden.exe / main.pak / Scripts_oldlaboratory.nut < prev    next >
Encoding:
Text File  |  2009-11-20  |  2.9 KB  |  112 lines

  1. // quest level - scene: Q_Old_Laboratory
  2.  
  3. const FALSE = 0;
  4.  
  5. function DarkObj(name,dark)
  6. {
  7.    if (dark == true) Deactivate(name);
  8.    else              Activate(name);
  9. }
  10.  
  11. items <- 
  12. [
  13.    // brush
  14.    "brush1", "brush2", "brush4", "brush5", "brush6",
  15.    
  16.    // picture
  17.    "picture1", "picture2", "picture3", "picture4", 
  18.    "picture5", "picture6", "picture7",
  19.    
  20.    // stone
  21.    "stone1", "stone2", "stone4", "stone5", "stone6", "stone7",
  22.    
  23.    // spell book
  24.    "spell_book1", "spell_book2", "spell_book4", "spell_book5", 
  25.    "spell_book6", "spell_book7", "spell_book8", "spell_book9"
  26. ];
  27.  
  28. function DarkScene(dark)
  29. {
  30.    foreach( val in items) DarkObj(val, dark);
  31. }
  32.  
  33. function Quest_Init()
  34. {
  35.    // item name, obj name, show, activate
  36.    MakeItem("ItemCandles",  "sm_candles", false, true);
  37.    MakeItem("ItemBrush",    "sm_brush",   false, true);
  38.    MakeItem("ItemPicture",  "sm_picture", false, true);
  39.    MakeItem("ItemStone",    "sm_stone",   false, true);
  40.       
  41.    // zone name, obj name, item name, show, activate
  42.    MakeZone("ZoneLamp",   "obj_lamp",  "ItemCandles",  true,  true);
  43.    MakeZone("ZoneFrame",  "obj_frame", "ItemPicture",  true, false);
  44.    MakeZone("ZoneDirty",  "obj_dirty", "ItemBrush",    true, false);
  45.    MakeZone("ZoneGlass",  "obj_glass", "ItemStone",    true, false);
  46.    
  47.    SetPixelTest("ZoneGlass", FALSE);
  48.       
  49.    // obj/item/zone name, effect
  50.    Hide("brush3_", EFFECT_NONE);
  51.    Hide("stone3_", EFFECT_NONE);
  52.    Deactivate("spell_book3_", EFFECT_NONE);
  53.      
  54.    DarkScene(true);
  55.    
  56.    return true;
  57. }
  58.  
  59. function OnEvent(event,name="")
  60. {
  61.    switch (event)
  62.    {
  63.    case EVENT_INIT:
  64.       print("OnEvent Init");
  65.       return Quest_Init();
  66.       break;
  67.       
  68.    case EVENT_ZONE: // actived zone click with item
  69.       print("OnEvent Zone " + name);
  70.       if (name == "ZoneLamp")
  71.       {
  72.          Hide(name, EFFECT_FADE);
  73.          //Show("obj_candle_fire", EFFECT_NONE);
  74.          DarkScene(false);
  75.          Hide("dark", EFFECT_FADE);
  76.          Activate("ZoneFrame");
  77.          Activate("ZoneDirty");
  78.          Activate("ZoneGlass");
  79.          return true;
  80.       }
  81.       if (name == "ZoneFrame")
  82.       {
  83.          Deactivate(name);
  84.          Show("brush3_", EFFECT_FADE);
  85.          return true;
  86.       }
  87.       if (name == "ZoneDirty")
  88.       {
  89.          Hide(name, EFFECT_FADE);
  90.          Show("stone3_", EFFECT_FADE);
  91.          return true;
  92.       }
  93.       if (name == "ZoneGlass")
  94.       {
  95.          Hide(name, EFFECT_FADE);
  96.          Activate("spell_book3_", EFFECT_NONE);
  97.          return true;
  98.       }
  99.       break;
  100.       
  101.    case EVENT_GROUP: // compleated group click
  102.       print("OnEvent Group " + name);
  103.       if (name == "candles") {Show("ItemCandles");return true;}
  104.       if (name == "brush")   {Show("ItemBrush");return true;}
  105.       if (name == "picture") {Show("ItemPicture");return true;}
  106.       if (name == "stone")   {Show("ItemStone");return true;}
  107.       break;
  108.    }
  109.    return false;
  110. }
  111.  
  112.